package fcc.Seng462project.client;

/* RPC calls to talk between the client and the server.
   ASynce interface, see BlobService.java for details for each function.
  */

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;
import fcc.Seng462project.client.entities.FileInfo;

public interface BlobServiceAsync {

  void getBlobStoreUploadUrl(AsyncCallback<String> callback);
  
  void getFileInfo(String username, AsyncCallback<ArrayList<FileInfo>> callback);
  
  void getSharedFiles(String username, AsyncCallback<ArrayList<FileInfo>> callback);
  
  void shareFile(String shareUsername, String blobkey, AsyncCallback<Void> callback);  
  void deleteBlob(String blobkey, AsyncCallback<Void> callback);

}